package com.wing.wecom.service;

/**
 * 企业微信回调-Service
 *
 * @author
 */
public interface ReceiveService {

    /**
     * 添加请假申请
     *
     * @param leaveApplyForm
     * @return
     */
//    int addLeaveApply(LeaveApplyForm leaveApplyForm);

    /**
     * 同意请假申请
     * @param spNo
     */
    void agreeLeave(String spNo);

    /**
     * 驳回请假申请
     * @param spNo
     */
    void rejectLeave(String spNo);

    /**
     * 转审请假申请
     * @param spNo
     */
    void referralLeave(String spNo);

    /**
     * 撤销请假申请
     * @param spNo
     */
    void revokeLeave(String spNo);

    /**
     * 添加调班申请
     *
     * @param shiftApplyForm
     * @return
     */
//    int addShiftApply(ShiftApplyForm shiftApplyForm);

    /**
     * 同意调班申请
     * @param spNo
     */
    void agreeShift(String spNo);

    /**
     * 驳回调班申请
     * @param spNo
     */
    void rejectShift(String spNo);

    /**
     * 撤销调班申请
     * @param spNo
     */
    void revokeShift(String spNo);

    /**
     * 添加外出申请
     *
     * @param goOutApplyForm
     * @return
     */
//    int addGoOutApply(GoOutApplyForm goOutApplyForm);

    /**
     * 同意外出申请
     * @param spNo
     */
    void agreeGoOut(String spNo);

    /**
     * 驳回外出申请
     * @param spNo
     */
    void rejectGoOut(String spNo);

    /**
     * 撤销外出申请
     * @param spNo
     */
    void revokeGoOut(String spNo);

    /**
     * 添加加班申请
     *
     * @param workOvertimeApplyForm
     * @return
     */
//    int addWorkOvertimeApply(WorkOvertimeApplyForm workOvertimeApplyForm);

    /**
     * 同意加班申请
     * @param spNo
     */
    void agreeWorkOvertime(String spNo);

    /**
     * 驳回加班申请
     * @param spNo
     */
    void rejectWorkOvertime(String spNo);

    /**
     * 撤销加班申请
     * @param spNo
     */
    void revokeWorkOvertime(String spNo);

    /**
     * 添加用印申请
     *
     * @param printApplyForm
     * @return
     */
//    int addPrintApply(PrintApplyForm printApplyForm);

    /**
     * 同意用印申请
     * @param spNo
     */
    void agreePrint(String spNo);

    /**
     * 驳回用印申请
     * @param spNo
     */
    void rejectPrint(String spNo);

    /**
     * 撤销用印申请
     * @param spNo
     */
    void revokePrint(String spNo);

    /**
     * 添加用印申请
     *
     * @param repairCardApplyForm
     * @return
     */
//    int addRepairCardApply(RepairCardApplyForm repairCardApplyForm);

    /**
     * 同意用印申请
     * @param spNo
     */
    void agreeRepairCard(String spNo);

    /**
     * 驳回用印申请
     * @param spNo
     */
    void rejectRepairCard(String spNo);

    /**
     * 撤销用印申请
     * @param spNo
     */
    void revokeRepairCard(String spNo);

    /**
     * 添加入住申请
     *
     * @param liveApplyForm
     * @return
     */
//    int addLiveApply(LiveApplyForm liveApplyForm);

    /**
     * 同意入住申请
     * @param spNo
     */
    void agreeLive(String spNo);

    /**
     * 驳回用印申请
     * @param spNo
     */
    void rejectLive(String spNo);

    /**
     * 撤销入住申请
     * @param spNo
     */
    void revokeLive(String spNo);

    /**
     * 添加换房申请
     *
     * @param deployApplyForm
     * @return
     */
//    int addDeployApply(DeployApplyForm deployApplyForm);

    /**
     * 同意换房申请
     * @param spNo
     */
    void agreeDeploy(String spNo);

    /**
     * 驳回换房申请
     * @param spNo
     */
    void rejectDeploy(String spNo);

    /**
     * 撤销换房申请
     * @param spNo
     */
    void revokeDeploy(String spNo);

    /**
     * 添加退房申请
     *
     * @param checkOutApplyForm
     * @return
     */
//    int addCheckOutApply(CheckOutApplyForm checkOutApplyForm);

    /**
     * 同意退房申请
     * @param spNo
     */
    void agreeCheckOut(String spNo);

    /**
     * 驳回退房申请
     * @param spNo
     */
    void rejectCheckOut(String spNo);

    /**
     * 撤销退房申请
     * @param spNo
     */
    void revokeCheckOut(String spNo);
}
